﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

using MySql.Data.MySqlClient;
using MySql.Data.Types;
using MySql.Data;


namespace Financieras
{
    public partial class Cliente : Form
    {
        public Cliente()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {

            comboCodigos();
            //MessageBox.Show(new Manager().funcion());
            //this.Close();
        }

        private MySqlParameter CrearParametro(string nombre, MySqlDbType tipo, int tamanio, object valor)
        {
            MySqlParameter parametro = new MySqlParameter();
            parametro.ParameterName = nombre;
            parametro.MySqlDbType = tipo;
            parametro.Size = tamanio;
            parametro.Value = valor;
            return parametro;
        }

        private void comboCodigos()
        {
            try
            {
                //clase con metodos genericos para consultas...
                clsMetodos consulta = new clsMetodos();
                DataSet ds = new DataSet();
                ds = consulta.Consultas("SP_Listar_postales");

                if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
                {
                    comboBoxCodigos.DataSource = ds.Tables[0];
                    comboBoxCodigos.DisplayMember = "codigo";
                    //comboBoxCodigos.ValueMember = "idPostal";   
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("Error\n" + ex.ToString());
            }
        }

        
        private void btnTomarImage_Click(object sender, EventArgs e)
        {
            try
            {
                Cam ft = new Cam();
                ft.ShowDialog();

                if (ft.imagenFinal != null)
                {
                    pictureBoxFoto.Image = ft.imagenFinal;
                }
            }
            catch (Exception ee)
            {
                MessageBox.Show(ee.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }

        private void btnCargarImage_Click(object sender, EventArgs e)
        {
            OpenFileDialog abrir = new OpenFileDialog();
            abrir.Filter = "Todos los Archivos\n JPEG(*.jpg)|*.jpg|GIF(*.gif)|*.gif|PNG(*.png)|*.png";

            try
            {
                //If Finalvideo.IsRunning = True Then
                //    Finalvideo.Stop()
                //End If
            }
            catch (Exception ex)
            {
            }

            if (abrir.ShowDialog() == DialogResult.OK)
            {
                pictureBoxFoto.Image = Image.FromFile(abrir.FileName);
                pictureBoxFoto.Visible = true;
            }
            else
            {
                MessageBox.Show("Elija una Imagen", "RECOMENDACION", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
            }   
        }

        private void comboBoxMonto_SelectedIndexChanged(object sender, EventArgs e)
        {
            int monto;
            monto = Convert.ToInt32(comboBoxMonto.Text);
            txtPagoTot.Text =Convert.ToString((monto +((monto*0.09)*4)));
            txtPagoSemana.Text = Convert.ToString((monto + ((monto * 0.09) * 4)) / 16);
        }

        private void comboBoxCodigos_SelectedIndexChanged(object sender, EventArgs e)
        {
            try
            {
                clsMetodos consulta = new clsMetodos();
                // MySqlDataAdapter da = consulta.Consultas();
                Dictionary<int, MySqlParameter> diccionario = new Dictionary<int, MySqlParameter>();
                diccionario.Add(1, CrearParametro("p_codigo", MySqlDbType.VarChar, 50, comboBoxCodigos.Text));
                DataSet ds = new DataSet();
                ds = consulta.Consultas2("SP_postales_Por_Codigo", diccionario);

                if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
                {
                    comboBoxColonia.DataSource = ds.Tables[0];
                    comboBoxColonia.DisplayMember = "asentamiento";
                    //comboBoxColonia.ValueMember = "c_estado";
                    
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("Error\n" + ex.ToString());
            }
 
        }

        private void toolStripSalir_Click(object sender, EventArgs e)
        {
            limpiar();
            this.Close();
        }

        private void limpiar()
        {
            txtNombreCliente.Clear();
            txtAmaterno.Clear();
            txtApaterno.Clear();
            txtCalle.Clear();
            txtNumero.Clear();
            txtPagoSemana.Clear();
            txtPagoTot.Clear();
            txtDetalles.Clear();
            pictureBoxFoto.Image = null;
        }

        private void toolStripGuardarCliente_Click(object sender, EventArgs e)
        {
            try
            {
                //string operacion = "SP_Registrar_afiliados";
                //Dictionary<int, MySqlParameter> diccionario = new Dictionary<int, MySqlParameter>();
                //diccionario.Add(1, CrearParametro("p_curp", MySqlDbType.VarChar, 50, txtcurp.Text));
                //diccionario.Add(2, CrearParametro("p_nombre", MySqlDbType.VarChar, 50, txtnombre.Text));
                //diccionario.Add(3, CrearParametro("p_Apaterno", MySqlDbType.VarChar, 50, txtApaterno.Text));
                //diccionario.Add(4, CrearParametro("p_Amaterno", MySqlDbType.VarChar, 50, txtAmaterno.Text));
                //diccionario.Add(5, CrearParametro("p_Fec_Nac", MySqlDbType.Date, 0, DateTimePickerFecNac.Value.Year + "-" + DateTimePickerFecNac.Value.Month + "-" + DateTimePickerFecNac.Value.Day));
                //diccionario.Add(6, CrearParametro("p_Edad", MySqlDbType.Int16, 5, int.Parse(txtEdad.Text)));
                //diccionario.Add(7, CrearParametro("p_LNacimiento", MySqlDbType.VarChar, 50, txtLugNac.Text));//campos persona
                //diccionario.Add(8, CrearParametro("p_CveElector", MySqlDbType.VarChar, 50, txtCveElector.Text));
                //diccionario.Add(9, CrearParametro("p_CodAfiliado", MySqlDbType.VarChar, 50, txtCodAfiliado.Text));
                //diccionario.Add(10, CrearParametro("p_fec_Ingreso", MySqlDbType.VarChar, 50, DateTimePickerFecIngreso.Value.Year + "-" + DateTimePickerFecIngreso.Value.Month + "-" + DateTimePickerFecIngreso.Value.Day));
                //diccionario.Add(11, CrearParametro("p_CodPostal", MySqlDbType.VarChar, 50, txtCP.Text));
                //diccionario.Add(12, CrearParametro("p_calleNo", MySqlDbType.VarChar, 50, txtCalleNo.Text));
                //diccionario.Add(13, CrearParametro("p_telefono", MySqlDbType.VarChar, 50, txtTelefono.Text));
             
                //diccionario.Add(14, CrearParametro("p_edoCivil", MySqlDbType.VarChar, 50, edo));
                //diccionario.Add(15, CrearParametro("p_AEconomica", MySqlDbType.VarChar, 50, txtAEconomica.Text));
                //diccionario.Add(16, CrearParametro("p_Discapacidad", MySqlDbType.VarChar, 50, txtDiscapacidad.Text));
                //diccionario.Add(17, CrearParametro("p_tipoApoyo", MySqlDbType.VarChar, 50, txtTipoApoyo.Text));
                //diccionario.Add(18, CrearParametro("p_detalles", MySqlDbType.VarChar, 50, txtDetalles.Text));
                //try
                //{
                //    clsMetodos imagen = new clsMetodos();
                //    byte[] img;
                //    img = imagen.Imagen_Byte(pictureBoxFoto.Image);
                //    diccionario.Add(19, CrearParametro("p_Dimagen", MySqlDbType.VarChar, 50, img));//imagen
                //}
                //catch (Exception ex)
                //{ }
                //diccionario.Add(20, CrearParametro("p_impresion", MySqlDbType.VarChar, 50, txtcurp.Text));

                //clsMetodos metodo = new clsMetodos();
                //string val = metodo.Operaciones(operacion, diccionario);
                //if (val == null)
                //{
                //    MessageBox.Show("Afiliacion Realizada", "INFORMACION EXITOSA", MessageBoxButtons.OK, MessageBoxIcon.Information);
                //    DatosTodo.Enabled = false;
                //    toolStripButtonGuardar.Enabled = false;
                //    toolStripButtonGuardarNuevo.Enabled = true;
                //    toolStripButtonImprimir.Enabled = true;

                //}
                //else
                //{
                //    MessageBox.Show("Error\n\n" + val);
                //}
            }
            catch (Exception ex)
            {
                MessageBox.Show("Error\n" + ex.ToString());
            }
        }


    }
}
